33ac3d0e90efa1836f59749b6fc52399d9c4ccb4,AngularJS/src/org/angularjs/index/AngularIndexUtil.java,AngularIndexUtil,resolve,#Project#String#String#,46
Before Change
public static Entry resolve(final Project project, final String indexKey, final String lookupKey) {
final Ref<Entry> result = Ref.create();
FileBasedIndex.getInstance().processValues(AngularJSIndex.INDEX_ID, indexKey, null,
new FileBasedIndex.ValueProcessor<TObjectIntHashMap<String>>() {
@Override
public boolean process(VirtualFile file, TObjectIntHashMap<String> descriptorNames) {
for (Object o : descriptorNames.keys()) {
if (lookupKey.equals(o)) {
result.set(new Entry(file, lookupKey, descriptorNames.get(lookupKey)));
}
}
return result.isNull();
}
}, GlobalSearchScope.allScope(project)
);
return result.get();
}
}
After Change
final GlobalSearchScope scope = GlobalSearchScope.allScope(project);
for (VirtualFile file : FileBasedIndex.getInstance().getContainingFiles(index, lookupKey, scope)) {
final int id = FileBasedIndex.getFileId(file);
FileBasedIndex.getInstance().processValues(JSEntryIndex.INDEX_ID, id, null, new FileBasedIndex.ValueProcessor<JSIndexEntry>() {
@Override
public boolean process(VirtualFile file, JSIndexEntry value) {
return value.processAdditionalData(JavaScriptIndex.getInstance(project), index.toString(), lookupKey, new Processor<JSNamedElementProxy>() {
@Override
public boolean process(JSNamedElementProxy proxy) {
if (lookupKey.equals(proxy.getName())) {
result.set(proxy);
}
return result.isNull();
}
});
}
}, scope);
if (!result.isNull()) break;
}
return result.get();